static guint signals[LAST_SIGNAL] = { 0 };
static GQuark provider_list_quark = 0;
-static GdkRGBA fallback_color = { 1.0, 0.75, 0.75, 1.0 };
static void gtk_style_context_finalize (GObject *object);
GtkStateFlags state,
GdkRGBA *color)
{
- GtkStyleContextPrivate *priv;
- StyleData *data;
- const GValue *value;
GdkRGBA *c;
g_return_if_fail (color != NULL);
- *color = fallback_color;
-
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
- priv = context->priv;
- g_return_if_fail (priv->widget_path != NULL);
-
- data = style_data_lookup (context);
- value = _gtk_style_properties_peek_property (data->store,
- "color",
- state,
- NULL);
+ gtk_style_context_get (context,
+ state,
+ "color", &c,
+ NULL);
- if (value)
- {
- c = g_value_get_boxed (value);
- if (c)
- *color = *c;
- else
- gdk_rgba_parse (color, "pink");
- }
+ *color = *c;
+ gdk_rgba_free (c);
}
/**
GtkStateFlags state,
GdkRGBA *color)
{
- GtkStyleContextPrivate *priv;
- StyleData *data;
- const GValue *value;
GdkRGBA *c;
g_return_if_fail (color != NULL);
- *color = fallback_color;
-
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
- priv = context->priv;
- g_return_if_fail (priv->widget_path != NULL);
-
- data = style_data_lookup (context);
- value = _gtk_style_properties_peek_property (data->store,
- "background-color",
- state,
- NULL);
+ gtk_style_context_get (context,
+ state,
+ "background-color", &c,
+ NULL);
- if (value)
- {
- c = g_value_get_boxed (value);
- if (c)
- *color = *c;
- else
- gdk_rgba_parse (color, "pink");
- }
+ *color = *c;
+ gdk_rgba_free (c);
}
/**
GtkStateFlags state,
GdkRGBA *color)
{
- GtkStyleContextPrivate *priv;
- StyleData *data;
- const GValue *value;
GdkRGBA *c;
g_return_if_fail (color != NULL);
- *color = fallback_color;
-
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
- priv = context->priv;
- g_return_if_fail (priv->widget_path != NULL);
-
- data = style_data_lookup (context);
- value = _gtk_style_properties_peek_property (data->store,
- "border-color",
- state,
- NULL);
+ gtk_style_context_get (context,
+ state,
+ "border-color", &c,
+ NULL);
- if (value)
- {
- c = g_value_get_boxed (value);
- if (c)
- *color = *c;
- else
- gdk_rgba_parse (color, "pink");
- }
+ *color = *c;
+ gdk_rgba_free (c);
}
/**